(function($){
  $.fn.ymd = function(){
    var $this = $(this);
    var ys = $this.data('ys');
    var ye = $this.data('ye');
    var YYYY = $this.children('.YYYY');
    var MM = $this.children('.MM');
    YYYY.change(YYYYDD);
    MM.change(MMDD);
		function YYYYMMDDstart() {
			MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
			//先给年下拉框赋内容
      var y = new Date().getFullYear();
			for (var i = y; i > y-70; i--) //以今年为准，前30年，后30年
        YYYY.append('<option value='+i+'>'+i+'年</option>');
			//赋月份的下拉框
			for (var i = 1; i < 13; i++)
        MM.append('<option value='+i+'>'+i+'月</option>');
			// var n = MonHead[new Date().getMonth()];
			// if (new Date().getMonth() == 1 && IsPinYear(YYYYvalue)) n++;
			// writeDay(n); //赋日期下拉框Author:meizz
		}
		// if (document.attachEvent)
		// 	window.attachEvent("onload", YYYYMMDDstart);
		// else
		// 	window.addEventListener('load', YYYYMMDDstart, false);
    YYYYMMDDstart();
		function YYYYDD() //年发生变化时日期发生变化(主要是判断闰平年)
		{
			var MMvalue = $(this).nextAll('.MM').val();
      var str = $(this).val();
			var e = $(this).nextAll('.DD');
			if (MMvalue == "") {
				optionsClear(e);
				return;
			}
			var n = MonHead[MMvalue - 1];
			if (MMvalue == 2 && IsPinYear(str)) n++;
			writeDay(n,e)
		}
		function MMDD() //月发生变化时日期联动
		{
			var YYYYvalue = $(this).prevAll('.YYYY').val();
      var str = $(this).val();
			var e = $(this).nextAll('.DD');
			if (YYYYvalue == "") {
				optionsClear(e);
				return;
			}
			var n = MonHead[str - 1];
			if (str == 2 && IsPinYear(YYYYvalue)) n++;
			writeDay(n,e)
		}
		function writeDay(n,e) //据条件写日期的下拉框
		{
			optionsClear(e);
			for (var i = 1; i < (n + 1); i++)
				e.append('<option value='+i+'>'+i+'日</option>');
		}
		function IsPinYear(year) //判断是否闰平年
		{
			return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0));
		}
		function optionsClear(e) {
			e.children('option[value!=""]').remove();
		}
  }
})(jQuery)
$('.YMD').ymd();
